/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import model.Speler;
import components.Database;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import javax.swing.JOptionPane;
/**
 *
 * @author Joris Roos
 */
public class Toernooi {
    private int toernooiid;
    private String datumTijd;
    private String locatie;
    private double kosten;
    
    
  

    public Toernooi() {
        
    }

    public String getDatumTijd() {
        return datumTijd;
    }

    public void setDatumTijd(String datum_tijd) {
        this.datumTijd = datum_tijd;
    }

    public double getKosten() {
        return kosten;
    }

    public void setKosten(double kosten) {
        this.kosten = kosten;
    }

    public String getLocatie() {
        return locatie;
    }

    public void setLocatie(String locatie) {
        this.locatie = locatie;
    }

    public int getToernooiid() {
        return toernooiid;
    }

    public void setToernooiid(int toernooiid) {
        this.toernooiid = toernooiid;
    }
    
     public static Toernooi getToernooi(int toernooiid) {
        
        
        Toernooi newToernooi = new Toernooi();
        
        String query = "SELECT * FROM Toernooi WHERE toernooiid = " + toernooiid;
        
        ResultSet result = Database.executeSelectQuery(query);
        
        try {
            result.next();
            
            newToernooi.setToernooiid(result.getInt("toernooiid"));
            newToernooi.setDatumTijd(result.getString("datum_tijd"));
            newToernooi.setLocatie(result.getString("locatie"));
            newToernooi.setKosten(result.getDouble("kosten"));
            
            
        } catch(SQLException e) {
            
        }
        
        
        
        return newToernooi;
    }

        public static Toernooi[] getToernooien() {
        ArrayList<Toernooi> toernooien = new ArrayList<Toernooi>();
        Toernooi newToernooi;
        String query = "SELECT * FROM Toernooi";
        ResultSet result = Database.executeSelectQuery(query);
        try {
            while(result.next()) {
                newToernooi = new Toernooi();
                
                newToernooi.setToernooiid(result.getInt("toernooiid"));
                newToernooi.setDatumTijd(result.getString("datum_tijd"));
                newToernooi.setLocatie(result.getString("locatie"));
                newToernooi.setKosten(result.getDouble("kosten"));
               
                
                toernooien.add(newToernooi);
            }
        } catch(SQLException e) {
            System.out.println(e.getMessage());
        }
        Toernooi[] toernooiArray = new Toernooi[toernooien.size()];
        for(int i=0;i<toernooien.size();i++) {
            toernooiArray[i] = toernooien.get(i);
        }
        
        return toernooiArray;
    }
    
     
           public boolean insert() {
    boolean successful = false;
      //sla dit Docent object op in de database, 
      //mbv  executeInsertQuery uit componenten.Database
     
      String query = "Insert into Toernooi (locatie,datum_tijd,kosten) values('" +
              this.getLocatie() + "', '" +
              this.getDatumTijd() + "', '" +
              this.getKosten() + "')";
              
      
        if (Database.executeInsertQuery(query) > 0) { 
            //tenminste 1 record inserted
              successful = true;
        }
    return successful;
  }
           
                 //update student in de database op basis van zijn naam
  public boolean update() {
   // if (alleVeldenIngevuld()) {
      String query = "UPDATE Toernooi SET " +
              
              "locatie = '" + this.getLocatie() + "', " +
              "datum_tijd = '" + this.getDatumTijd() + "', " +
              "kosten = '" + this.getKosten() + "' WHERE toernooiid = " + this.getToernooiid();
    if (Database.executeUpdateQuery(query) == 1) return true;
       
  return false;
}

         
         
         
         
    public boolean delete() {
        boolean successful = false;
        String query = "delete from Toernooi where toernooiid ='" + this.toernooiid + "'";
    if (Database.executeDeleteQuery(query) == 1){
        // er is 1 record verwijderd
        successful = true;
    }
    return successful;
    }
    
    @Override
    public String toString() {
        return "#" + this.getToernooiid() + " op " + this.getDatumTijd() + " in " + this.getLocatie();
    }
    
}

